Pular para o conteúdo principal

Atributos virtuais

O que são e como usar os atributos virtuais

  • Atributos virtuais são uma forma de utilizar métodos (get e set) como atributos por meio de um pré-compilador.

⚠️ Lembre-se que um script com muitos atributos virtuais pode causar um maior tempo de compilação, já que existe um pré-compilador que interpreta e tranforma seu "atributo" no método original antes de compilar seu script ⚠️

Com atributos virtuais:

Exemplo

  • Veja que o número de caracteres diminuiu consideravelmente.
public class SuaClasse extends Component {

public int valor = 10; // selecione nas propriedades

public void repeat() {

myObject.position.x = valor;
myObject.position.y = valor;
myObject.position.z = valor;

}

}

Sem atributos virtuais:

Exemplo

  • Veja que o número de caracteres aumentou consideravelmente.

public class SuaClasse extends Component {

public int valor = 10; // selecione nas propriedades

public void repeat() {

myObject.getPosition().setX(valor);
myObject.getPosition().setY(valor);
myObject.getPosition().setZ(valor);

}

}


Também é possivel utilizar de atributos virtuais em vetores

Exemplo

  • Veja que na função repeat não é necessario chamar os métodos das operações.
public class SuaClasse extends Component {

private Vector3 vetor1 = new Vector3(1, 1, 1);
private Vector3 vetor2 = new Vector3(2, 2, 2);

public void start() {

// atribuindo valores com os atributos virtuais
vetor1.x = 1; // o mesmo que vetor1.setX(1);
vetor1.y = 1; // o mesmo que vetor1.setY(1);
vetor1.z = 1; // o mesmo que vetor1.setZ(1);

}

public void repeat() {

// o mesmo que vetor1 = vetor1.sumLocal(vetor2);
vetor1 += vetor2;

// o mesmo que vetor1 = vetor1.subLocal(vetor2);
vetor1 -= vetor2;

// o mesmo que vetor1 = vetor1.mulLocal(vetor2);
vetor1 *= vetor2;

// o mesmo que vetor1 = vetor1.divLocal(vetor2);
vetor1 /= vetor2;

}

}

⚠️ Caso o uso de atributos virtuais apresente algum tipo de erro basta usar os métodos normalmente ⚠️